// const { open } = require("fs/promises");

// 引入app.json
const app = getApp();

Page({
  /**
   * 页面的初始数据
   */
  data: {
    da: '',
    userInfo: null,
    imgPath: null,
    imageID: null,
    color: 'black'


  },

  //上传背景图片
  uploadImg() {
    // 让用户选择一张图片
    wx.chooseImage({
      success: chooseResult => {
        let path = chooseResult.tempFilePaths[0]
        console.log(path);
        this.setData({
          imgPath: path
        });
        let headimgname = new Date().getTime() + "" + Math.random(); // 随机名称
        let extname = path.substr(path.indexOf(".")) //获取上传图片的后缀
        // 将图片上传至云存储空间
        wx.cloud.uploadFile({
            // 指定上传到的云路径
            cloudPath: "images/photo" + headimgname + extname + ".png",
            // 指定要上传的文件的小程序临时文件路径
            filePath: path,
            // 成功回调
          }).then(re => {
            this.setData({
              imageID: re.fileID
            })
            wx.showToast({
              title: '上传成功'
            })
            // console.log(re.fileID);
            this.setHeadImage(re.fileID)
          })
          .catch(err => {
            wx.showToast({
              title: '上传失败'
            })
          })

      },
    })
  },
  // 获取图片上传到数据库
  setHeadImage(path) {
    let headimg = wx.cloud.database().collection("headimg");
    headimg.get().then(result => {
      console.log(result);
      if (result.data.length > 0) {
        // 更新背景 
        headimg.doc(result.data[0]._id).update({
          data: {
            headpath: path // 应该是这里未定义
          }
        }).then(re => {
          wx.showToast({
            title: '背景保存成功',
          }).catch(er => {
            wx.showToast({
              title: '背景保存失败',
            })
          })
        })
      } else {
        // 添加背景图片信息   
        headimg.add({
          data: {
            headpath: path,
            nickname: this.data.userInfo.userInfo.nickname
          }
        }).then(re => {
          wx.showToast({
            title: '头像保存成功',
          }).catch(er => {
            wx.showToast({
              icon: 'error',
              title: '头像保存失败',
            })
          })
        })
      }
    })
  },
  // 授权登陆
  login() {
    wx.getUserProfile({
      desc: '用于授权登录',
      success: result => {
        app.globalData.userInfo = result
        // this.setData({
        //   userInfo: result,
        // });
        this.find()
        // 调用云函数  获取openid
        wx.cloud.callFunction({
          name: "cloud",
        }).then(re => {
          console.log("id获取成功", re.result.openid);
          let openid = re.result.openid
          // 全局也记录openid
          app.globalData.userInfo.openid = openid
          result.openid = openid;
          this.setData({
            userInfo: result,
          });
          //根据openid获取用户信息
          let userCollect = wx.cloud.database().collection("login");
          //查询是否第一次授权登陆
          userCollect.where({
              "_openid": openid
            }).get()
            .then(user => {
              // console.log(user);
              if (user.data.length > 0) {
                wx.showToast({
                  title: '欢迎再次使用',
                })
              } else {
                //第一次授权  记录用户信息
                userCollect.add({
                  data: {
                    userInfo: result.userInfo
                  }
                })
                wx.showToast({
                  title: '欢迎使用',
                })
              }
            })
        })

        // result.openid=openid
      },
      fail: err => {
        console.log("授权失败", err);
      }
    })

  },
  // 搜素数据库封面图片
  find() {
    let headimg = wx.cloud.database().collection("headimg");
    headimg.get().then(res => {
      // console.log(res);
      if (res.data.length > 0) {
        this.setData({
          imgPath: res.data[0].headpath
        })
      }
    })
  },
  //退出登陆
  quit() {
    this.setData({
      userInfo: null,
      imgPath: null
    })
    app.globalData.userInfo=null

  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // if(this.data.imgPath!=null){
    //   this.setData({
    //     color:"white"
    //   })
    // }
    this.setData({
      userInfo: app.globalData.userInfo,
    })
  },



  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    wx.hideLoading()


  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.setData({
      userInfo: app.globalData.userInfo,
    })
    if (this.data.userInfo) {
      if (!this.data.imgPath) {
        this.find();
      }
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})